package com.sxbang.bms.base;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.Serializable;
import java.util.List;

/**
 * @author emoker
 * @date 2019/04/12
 * @Description 适用于单表操作的BaseService，包含一些简单增删改查的方法，
 * 使用时需要指定泛型，E ：实体类，V：VO类，ID：PO的主键类型
 */
public interface BaseService<E, ID extends Serializable, V> {
    static final Logger log = LoggerFactory.getLogger("adminLogger");
    public V save (V v);

    public List<V> save(List<V> vs);

    public V get (ID id);

    public List<V> findAll ();

    public List<V> list (Iterable<ID> ids);

    public List<V> list (Integer offset, Integer limit);

    public V update (V e);

    public void delete (V v);

    public void delete (ID id);

    public Long countAll ();

}
